/*++

Copyright (c) 2000  Microsoft Corporation

Module Name:

    pdrvver.h

Abstract:

    Printer Driver Version Resource File

Environment:

    Windows NT printer drivers

Revision History:


--*/

//
// Printer Driver Version Resource File
// This file describes a template for the versioning scheme for printer drivers. 
// It is recommended that this file be modified and included in every 
// printer driver DLL resource file, even for monolithic printer drivers, 
// which are not Unidrv-based minidrivers. 
//
// The versioning scheme:
// The versioning scheme is defined in detail in the DDK documentation. 
// Please refer to it for more information.
//

#include <ntverp.h>

//
// The following field sets the type of DLL. For printer drivers it should 
// always be set to VFT_DRV. Don't change this field.
//

#define VER_FILETYPE                VFT_DRV

//
// If the DLL is of type VFT_DRV then the following field contains a more 
// specific description of the driver. For versioned printer drivers it should 
// always be set to VFT2_DRV_VERSIONED_PRINTER. Don't change this field.
//

#define VER_FILESUBTYPE             VFT2_DRV_VERSIONED_PRINTER

//
// For a versioned printer driver, the following field indicates the File 
// Version of the DLL. The file version consists of four 16-bit (WORD) numbers. 
// The description of each of them is as follows. From left to right,
//
//      First WORD  :   Reserved. Should be set to 0.
//      Second WORD :   Major version of the driver. For user-mode drivers, set
//                      this to 3. For kernel-mode drivers, set this to 2.
//      Third WORD  :   Feature set number. 
//                      The high byte of this number represents the major 
//                      feature set and should always be incremented with the
//                      next major release. A newer release is assumed to 
//                      have a superset of the functionality of the previous 
//                      release. 
//                      The low byte represents minor releases - 
//                      new releases from the same code base or the 
//                      same architecture. The low byte should be 
//                      incremented with each new minor release.
//      Fourth WORD :   Bug fix number or service pack number. This field 
//                      represents the releases of major feature set 
//                      binaries for bugs or service packs and should always
//                      be incremented with each minor release.
//
// Example     :   0, 3, 0x0100, 0x0000
// In the above example the third number shows that the DLL belongs to the first
// major release of the driver. After fixing some bugs in this binary the
// version should be changed to  0, 3, 0x0100, 0x0001. For the next minor 
// release of the driver, which is a superset of the previous release, the 
// version  should be changed to 0, 3, 0x0101, 0x0001. In this case the low 
// byte of the feature set was changed instead of the high byte. This allows 
// more control on the versions. It is recommended that the high byte be used 
// to describe different code bases or major architecture changes and the low 
// byte be used for new releases from the same code base or from the same 
// architecture.
//
// Basically the Feature set and Bug Fix numbers should be used in such a way
// that when they are combined (Feature set = HIWORD, Bug fix = LOWORD) in a 
// 32-bit quantity (DWORD), the new number represents all the features of the
// DLL. A larger number represents newer versions, which are supersets of 
// functionality and bug fixes with respect to all previous releases.
//
// This field needs to be changed per the description above.
//
//

#define VER_FILEVERSION             0, 3, 0, 0

//
// The following field describes the driver. It should include a specific name,
// which identifies the driver.
//
// This field needs to be changed.
//

#define VER_FILEDESCRIPTION_STR     "Sample Printer Driver Resource DLL"

//
// The following field specifies the internal name of the file. For more 
// information, refer to the SDK documentation.
//
// This field needs to be changed.
//

#define VER_INTERNALNAME_STR        "SAMPLERES.DLL"

//
// The following field specifies the original name of the file, not including a 
// path. For more information refer to the SDK documentation.
//
// This field needs to be changed.
//

#define VER_ORIGINALFILENAME_STR    "SAMPLERES.DLL"

